-- stack: in -- format: 10 (HyperCard 2) -- flags: 0x1000 (none) -- protect password hash: 0 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=40, x2=512, y2=382) -- screen: Rect(x1=0, y1=0, x2=512, y2=384) -- card dimensions: w=512 h=342 -- scroll: x=0 y=0 -- background count: 1 -- first background id: 5465 -- card count: 1 -- first card id: 5329 -- list block id: 2089 -- print block id: 2685 -- font table block id: 3543 -- style table block id: 3129 -- free block count: 0 -- free size: 0 bytes -- total size: 27264 bytes -- stack block size: 23040 bytes -- created by hypercard version: 0x02018000 -- compacted by hypercard version: 0x02108000 -- modified by hypercard version: 0x02008000 -- opened by hypercard version: 0x02018000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0x038448300C020101 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAA00800088008000 -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0xDEB9E284 ----- HyperTalk script ----- --HyperTEACH v. 1.02b 11/17/91 --Copyright @1991 by Michael Land --Michael Land --3400 Taft Blvd --Midwestern State University --Wichita Falls, TX 76308 --Office: (817) 692-6611 ext 4139 --Home (817) 692-8573 --CompuServe: 71640,2020 --AppleLink: MLand or West.Exc.Lab --BITNET: MLand@AppleLink.APPLE.COM --The videodisc drivers in this stack are courtesy of --The Voyager Company, --Pacific Coast Highway --Santa Monica, CA 90401 --(213) 451-1383. --They may NOT be used in any commercial product without permission --from the Voyager Company on openStack global positiveCard, optionsData set the UserLevel to 5 if the short Name of this stack is "HyperTEACH" then put empty into fld "Positive Data" put "0" into word 1 of fld "Options" put "50" into word 2 of fld "Options" put "te" into word 3 of fld "Options" put "te" into word 4 of fld "Options" answer "This is your master copy of HyperTEACH. Do you want to start a new stack?" WITH "No" OR "Yes" if it is "Yes" then ask "Name of your new stack:" with "Type file name here." put it into newName create stack newName with bg "MSTR" exit openStack else ASK "You are about to exit the program!" with "OK" if it is "me" then exit openStack else doMenu "Quit HyperCard" end if end if end if video init put fld "Positive Data" into positiveCard put fld "Options" into optionsData --tells the location of the Positive feedback cards & keeps track --of options if word 3 of optionsData contains "te" then put "This is" && the long name of this stack && "." put "Teacher" after menu "Go" with menuMessage showTeach set commandChar of menuItem "Teacher" of menu "Go" to "T" hide menubar show bg btn "Right" show bg btn "Left" set the userLevel to 5 palette "Teacher", "30, 50" else if word 3 of optionsData contains "st" then reset menubar hide menubar hide message hide bg btn "Right" hide bg btn "Left" hide tool window hide message if there is a window "Teacher" then close window "Teacher" end if set the userLevel to 3 end if end if pass openStack end openStack on closeStack if there is a window "Teacher" then close window "Teacher" end if reset menubar pass closeStack end closeStack on idle if the short name of this stack is "HyperTEACH" then if the number of cards > 1 then answer "This is your master HyperTEACH stack. It should have only one card; it currently has" && the number of cards && "cards. The extra is being removed." with "Oops!!!" go last doMenu "Cut card" end if end if pass idle end idle on showTeach if there is a window "Teacher" then close window "Teacher" else palette "Teacher", "30, 50" end if end showTeach on returnKey choose browse tool pass returnKey end returnKey on arrowKey end arrowKey on pushIt lock screen push this card go bg "MSTR" end pushIt on changeSpecs global optionsData if the shiftKey is down then answer "Do you want to change the USER (Teacher or Student) or the PAUSE after feedback?" with "USER" or "PAUSE" pushIt if it is "USER" then userChange if it is "PAUSE" then pauseFdbk end if pop card end changeSpecs on pauseFdbk global optionsData answer "Set the pause on feedback after correct pages to 50 or 100 ticks?" with "50" or "100" if it is "50" then set the cursor to watch lock screen put 50 into word 2 of fld "Options" put 50 into word 2 of optionsData unlock screen else set the cursor to watch lock screen put 100 into word 2 of fld "Options" put 100 into word 2 of optionsData unlock screen end if end pauseFdbk on userChange global optionsData answer "Set for Student or Teacher use?" with "Student" or "Teacher" if it is "Student" then put st into word 3 of fld "Options" put st into word 3 of optionsData if there is a window "Teacher" then close window "Teacher" end if reset menubar hide menubar hide bg btn "Right" hide bg btn "Left" hide tool window set the userLevel to 2 end if if it is "Teacher" then put te into word 3 of fld "Options" put te into word 3 of optionsData put "Teacher" after menu "Go" with menuMessage showTeach set commandChar of menuItem "Teacher" of menu "Go" to "T" hide menubar palette "Teacher", "30, 50" show bg btn "Right" show bg btn "Left" set the userLevel to 5 end if end userChange on doMenu item if item is "Cut Button" or item is "Clear Button" then answer "If you are trying to remove a smiley face from a page, use the cut page icon below." with "OK" exit doMenu end if if item is "Delete Stack..." then answer "Cannot delete this stack." with "OK" exit doMenu end if pass doMenu end doMenu on teach palette "Teacher", "30, 50" end teach on showTool global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit showTool end if show Tool window at 444,32 end showTool on newPage global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit newPage end if answer "New page on existing background or a new background?" with "New" or "Existing" if it is "Existing" then doPageBtn else doNewBg end if end newPage on doPageBtn answer "New card before or after this card?" with "Before" or "After" if it is "Before" then lock screen go previous doMenu new card unlock screen else doMenu new card end if end doPageBtn on doNewBg lock screen set the cursor to busy go last cd of bg (the number of backgrounds) doMenu "New Background" go bg "MSTR" choose the lasso tool doMenu "Select All" doMenu "Copy Picture" go bg (the number of backgrounds) doMenu "Paste Picture" go bg "MSTR" choose button tool click at the loc of bg btn "Left" doMenu "Copy Button" go bg (the number of backgrounds) doMenu "Paste Button" go bg "MSTR" choose button tool click at the loc of bg btn "Right" doMenu "Copy Button" go bg (the number of backgrounds) doMenu "Paste Button" go bg "MSTR" choose fld tool click at the loc of fld "Page" doMenu "Copy Field" go bg (the number of backgrounds) doMenu "Paste Field" set the script of bg(the number of backgrounds) to "on openCard" & return & "put the number of this card into fld" && quote & "Page" & quote & return & "put" && quote && "of" && quote && "& the number of cards after fld" && quote & "Page" & quote & return & "pass openCard" & return & "end openCard" answer "You are on your new background. When you are ready to be on the card level, use Command-B to leave the background." choose browse tool go prev go next end doNewBg on makeField global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit makeField end if choose browse tool set the cursor to watch doMenu New Field show tool window at 443,20 answer "Size the field by pulling on a corner and then dragging it where you want it." with "OK" end makeField on linkPage global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit linkPage end if choose browse tool ask "You are on card" && the number of this cd & ". What card do you want to link TO?" with the number of this cd + 1 if it < 1 or it > the number of cards then ask "You are on card" && the number of this cd & ". What card do you want to link TO?" with the number of this cd + 1 if it < 1 or it > the number of cards then answer "Can't link to card" && it & "." with "Cancel" exit linkPage else makeLinkBtn it end if end if makeLinkBtn it end linkPage on makeLinkBtn linkNum lock screen set the cursor to watch doMenu "New Button" set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect scroll left slowly" & return & "go cd" && linkNum & return & "end mouseUp" set the icon of btn (the number of buttons) to 1013 set the style of btn (the number of buttons) to transparent set showName of btn (the number of buttons) to false set autohilite of btn (the number of buttons) to true answer "Size the button; drag it to where you want it; then choose the Browse tool." with "OK" unlock screen end makeLinkBtn on makeVideo global cavClv, theResult, optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit makeVideo end if if there is a stack "Audio Help" then start using stack "Audio Help" send "startSound" to stack "Audio Help" answer "Prepare an audio sequence or a video button?" with "Audio" or "Video" if it is "Audio" then doMenu "Audio..." exit makeVideo else end if end if choose browse tool put empty into cavClv video getStatus put item 3 of the result into theResult if theResult contains "CAV" THEN GETFRAMESEQ ELSE if theResult contains "CLV" THEN SEQUENCEVIDEO ELSE askType if cavClv is empty then exit makeVideo if cavClv contains "CAV" then getFrameSeq ELSE if cavClv contains "CLV" then sequenceVideo end if end if end if end if end makeVideo on askType global cavClv answer "What kind of videodisc will you be using? Will it be standard play (CAV) or extended play (CLV)?" with "CAV" or "CLV" or "Exit" if it is "CAV" then put "CAV" into cavClv else if it is "CLV" then put "CLV" into cavClv else exit askType end if end if end askType on getFrameSeq answer "Single frame or sequence?" with "Frame" or "Sequence" if it is "Frame" then frameVideo else sequenceVideo end if end getFrameSeq on frameVideo ask "What is the framenumber?" put it into frameNum doMenu "New Button" set the script of btn(number of btns) to "on mouseUp" & return & "video search," & frameNum & return & "end mouseUp" set the icon of btn(number of btns) to 14575 set the style of btn(number of btns) to transparent set showname of btn(number of btns) to false set the autoHilite of btn(number of btns)to true set the rect of btn(number of btns) to 393, 277, 424, 301 end frameVideo on sequenceVideo global cavClv, theResult ask "What is the starting number?" put it into frameStartNum ask "What is the ending number?" put it into frameEndNum lock screen doMenu "New Button" if cavClc contains "CLV" or theResult contains "CLV" then set the script of btn(number of btns) to "on mouseUp" & return & "video play," & frameStartNum & "," & frameEndNum & ",time" && return & "end mouseUp" else if cavClc contains "CAV" or theResult contains "CAV" then set the script of btn(number of btns) to "on mouseUp" & return & "video play," & frameStartNum & "," & frameEndNum && return & "end mouseUp" end if end if set the icon of btn(number of btns) to 14575 set the style of btn(number of btns) to transparent set showname of btn(number of btns) to false set the autoHilite of btn(number of btns)to true set the rect of btn(number of btns) to 393, 277, 424, 301 end sequenceVideo on posLink --goes with the + item on palette "Teacher" global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit posLink end if choose browse tool lock screen answer "Your 'Positive Feedback' cards must be set up before this button will work properly." with "Cancel" or "Continue" if it is "Cancel" then exit posLink else posLinkBtn end if click at the loc of btn (the number of buttons) unlock screen end posLink on posLinkBtn --goes with the + item on palette "Teacher" lock screen set the cursor to watch answer "Random or specific positive feedback?" with "Specific" or "Random" put it into choice if choice is "Random" then ask "Number or name (ONE word!) of the card you want to go TO, AFTER the positive feedback?" else ask "Number or name (ONE word!) of the specific positive feedback card you want to go to?" end if put it into check put the number of words in check into num if (num > 1 or num = 0) then answer "You can enter only one number or one word, but you must have at least one. You had " && num && "items. Click the + button on the Teacher palette and try again." with "Oops!" exit posLinkBtn else if choice is "random" then doMenu "New Button" set the script of btn (the number of buttons) to "on mouseUp" & return & "global optionsData" & return & "put word 2 of optionsData into time" & return & "put random (the number of words in fld" && quote & "Positive Data" & quote & ")" && "into numb" & return & "put word numb of fld" && quote & "Positive Data" & quote && "into newNumb" & return & "visual effect scroll left slow" & return & "go cd id newNumb" & return & "wait time" & return & "visual effect scroll left" & return & "go card" && check & return & "end mouseUp" else doMenu "New Button" set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect scroll left slow" & return & "go card" && check & return & "end mouseUp" end if set the style of btn (the number of buttons) to checkBox set showName of btn (the number of buttons) to false show btn (the number of buttons) at 150,150 set rect of btn(the number of buttons) to 100,139,118,154 unlock screen end if end posLinkBtn on posBtn --goes with smiley face global optionsData, positiveCard if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit posBtn end if choose browse tool answer "You must be on the page that you want to make a 'Positive Feedback' page." with "I am!" or "Cancel" if it is "Cancel" then exit posBtn else lock screen doMenu "New Button" set the rect of btn (the number of buttons) to 4,2,40,50 set the style of btn (the number of buttons) to transparent set showName of btn (the number of buttons) to false set the icon of btn (the number of buttons) to 26465 choose the browse tool end if set the cursor to busy put the short id of this card into idNum lock screen pushIt if fld "Positive Data" is empty then put idNum into fld "Positive Data" put fld "Positive Data" into positiveCard else put " " & idNum after fld "Positive Data" put fld "Positive Data" into positiveCard end if pop card end posBtn on negLink --goes with the - icon on the palette "Teacher" global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit negLink end if choose browse tool lock screen answer "This prepares a button for an incorrect response. You must know the page number of the 'Try again' page you want to link to. Is that what you want to do?" with "Cancel" or "Yes" if it is "Cancel" then exit negLink else doNegBtn end if end negLink on doNegBtn --goes with the - icon on the palette "Teacher" lock screen set the cursor to watch ask "Number or name (ONE word!) of the INCORRECT FEEDBACK CARD?" put it into destination answer "Is the student to go back or continue on after the feedback?" with "Continue" or "Go back" put it into theResponse if theResponse is "Continue" then ask "Continue to what card?" put it into setPage push this cd go cd destination hide btn "Click on me to try again" show btn "Go on" put the script of btn "Go on" into tempScript put setPage into word 3 of line 3 of tempScript set the script of btn "Go on" to tempScript choose browse tool pop card end if domenu "New Button" if theResponse is "Go back" then set the script of btn (the number of buttons) to "on mouseUp" & return & "push this card" & return & "visual effect shrink to center" & return & "go card" && destination & return & "end mouseUp" else set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect shrink to center" & return & "go card" && destination & return & "end mouseUp" end if set the style of btn (the number of buttons) to checkBox set showName of btn (the number of buttons) to false set rect of btn(the number of buttons) to 100,139,118,154 unlock screen end doNegBtn on negBtn --goes with the unhappy face on palette "Teacher global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit negBtn end if choose browse tool lock screen answer "You must be on the page that you want to make an 'Incorrect Response' page." with "I am!" or "Cancel" if it is "Cancel" then exit negBtn else doNegFaceBtn end if choose browse tool unlock screen end negBtn on doNegFaceBtn --goes with the unhappy face on palette "Teacher" doMenu "New Button" set the rect of btn (the number of buttons) to 189,260,309,309 set the style of btn (the number of buttons) to shadow set showName of btn (the number of buttons) to true set the icon of btn (the number of buttons) to 32595 set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect stretch from center" & return & "pop card" & return & "end mouseUp" set the name of btn (the number of buttons) to "Click on me to try again" doMenu "New Button" set the rect of btn (the number of buttons) to 189,260,309,309 set the style of btn (the number of buttons) to shadow set showName of btn (the number of buttons) to true set the icon of btn (the number of buttons) to 32595 set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect stretch from center" & return & "go cd 4" & return & "end mouseUp" set the name of btn (the number of buttons) to "Go on" hide button "Go on" end doNegFaceBtn on studentView global optionsData lock screen set the cursor to busy if word 4 of optionsData contains "te" then repeat with i = 1 to (the number of backgrounds) go bg i hide bg btn "Right" hide bg btn "Left" end repeat hide tool window hide message put "st" & " " into word 4 of optionsData set the userLevel to 2 else repeat with i = 1 to (the number of backgrounds) go bg i show bg btn "Right" show bg btn "Left" end repeat show tool window put "te" & " " into word 4 of optionsData set the userLevel to 5 end if end studentView on cutCard --on the X button on palette "Teacher" global optionsData, idNum if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit cutCard end if answer "Do you want to delete this card?" with "Yes" or "No" if it is "Yes" then idNumCheck go cd id idNum doMenu Cut card unlock screen else exit cutCard end if end cutCard on idNumCheck --on the X button on palette "Teacher" global idNum, positiveCard put the short id of this card into idNum set the cursor to watch repeat with count = 1 to the number of words in positiveCard if word count of positiveCard contains idNum then pushIt put empty into word count of fld "Positive Data" put fld "Positive Data" into positiveCard pop card exit repeat end if end repeat end idNumCheck on printMe choose browse tool answer "Do you want to print?" with "Yes" or "Cancel" if it is "Cancel" then exit printMe else printStuff end if end printMe on printStuff answer "Print what?" with "A field?" or "This card?" or "Stack?" if it is "A field?" then doMenu "Print field..." else if it is "This card?" then doMenu "Print card" else if it is "Stack?" then doMenu "Print stack..." end if end if end if end printStuff on showTool global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit showTool end if answer "Do you want to use the tools menu?" with "Cancel" or "Yes" if it is "Cancel" then exit showTool else show tool window at 443,20 end if end showTool on newOne global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit newOne end if --if the short name of this stack <> "HyperTEACH" --then answer "You are about to start a new stack. When prompted, type in a name for your stack." lock screen go first ask "Name of your new stack:" with "Type file name here." put it into newName create stack newName with bg "MSTR" palette "Teacher", "30, 50" -- end if end newOne on importPict global optionsData if word 4 of optionsData contains "st" then Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK" exit importPict end if answer "Do you want to import a MacPaint-type picture?" with "OK" or "Cancel" if it is "Cancel" then choose browse tool exit importPict else doImport end if choose browse tool end importPict on doImport lock screen choose select tool answer "Do you want the picture imported on this card or on a new card?" with "This card" or "New Card" if it is "New Card" then doMenu "New Card" end if doMenu "Import Paint..." end doImport